home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Getting Started / MPW Development / MPW Additions / INTO Interfaces&Libraries / Cyberdog SDK / PublicIncludes / CyberStream.xh < prev    next >
Encoding:
Text File  |  1996-08-02  |  9.9 KB  |  397 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: CyberStream.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_CyberStream_xh
  18. #define SOM_CyberStream_xh
  19.  
  20. class CyberStream;
  21.  
  22. #define CyberStream_MajorVersion 0
  23. #define CyberStream_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODObject_xh
  31. #include <ODObject.xh>
  32. #endif
  33.  
  34. #ifndef CyberStream_API
  35. #define CyberStream_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class CyberStream;
  50. class ODStorageUnit;
  51. class CyberSession;
  52. typedef
  53. short  StreamStatus;
  54. typedef
  55. ODISOStr CDStreamProperty;
  56. #define kCDDataAvailable 1 /* 1 */
  57. #define kCDErrorOccurred 2 /* 2 */
  58. #define kCDStatusStringChanged 4 /* 4 */
  59. #define kCDBuffersAreLow 8 /* 8 */
  60. #define kCDDownloadComplete 16 /* 16 */
  61. #define kCDAbortComplete 32 /* 32 */
  62. #define kCDTotalDataSizeUnknown -1 /* -1 */
  63. #define kCDTotalDataSizeUnknowable -2 /* -2 */
  64. #define kCDLastModTimeUnknown -1 /* -1 */
  65. #define kCDLastModTimeUnknowable -2 /* -2 */
  66. #define kCDStreamPropertyUnknown -1 /* -1 */
  67. #define kCDStreamPropertyUnknowable -2 /* -2 */
  68. #define kCDStreamPropertyAvailable 1 /* 1 */
  69. #define kCDTotalDataSizeProperty "Content-Length"
  70. #define kCDLastModTimeProperty "Last-Modified"
  71. #define kCDLanguageProperty "Content-Language"
  72. #define kCDCharacterSetProperty "charset"
  73.  
  74. /*
  75.  * End of user-defined types.
  76.  */
  77.  
  78. #ifdef OLDIBMSOMAPISUPPORT
  79. #define CyberStreamCClassData CyberStreamClassData
  80. #define CyberStreamNewClass(major,minor) somNewVersionedClassReference(CyberStream,major,minor)
  81. #endif
  82.  
  83. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  84. #define CyberStreamMetaClass SOMClass
  85.  
  86.  
  87. /* The API to the CyberStream class object, and the methods it introduces. */
  88. SOMEXTERN struct CyberStreamClassDataStructure {
  89. #ifdef OLDIBMSOMAPISUPPORT
  90.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  91. #else
  92.     long zero;
  93. #endif
  94.     somStaticClassInfo *sci;
  95.     somDToken        instanceDataToken;
  96.     long reserved [3];
  97.     somMToken GetStreamStatus;
  98.     somMToken GetTotalDataSize;
  99.     somMToken GetStreamError;
  100.     somMToken GetStatusString;
  101.     somMToken GetLastModTime;
  102.     somMToken IsTotalDataSizeAvailable;
  103.     somMToken IsLastModTimeAvailable;
  104.     somMToken Open;
  105.     somMToken GetBuffer;
  106.     somMToken ReleaseBuffer;
  107.     somMToken Abort;
  108.     somMToken GetProperty;
  109.     somMToken GetPropertySize;
  110.     somMToken HasProperty;
  111. } SOMDLINK CyberStreamClassData;
  112.  
  113. #if !defined(CyberStream_Class_Source) && !defined(SOM_Module_cyberstream_Source)
  114. #if PRAGMA_IMPORT_SUPPORTED
  115. #pragma import list CyberStreamClassData
  116. #endif
  117. #endif
  118.  
  119.  
  120. /*
  121.  * -- Typedefs and inline method declarations for left path inherited methods
  122.  * -- are omitted because this compilation had -museinheritedmethods in effect
  123.  */
  124.  
  125.  
  126. /*
  127.  * -- Typedefs for CyberStream Method Procedures
  128.  */
  129. SOMEXTERN {
  130. typedef StreamStatus   (* SOMLINK somTD_CyberStream_GetStreamStatus)(CyberStream *somSelf, Environment *ev);
  131. typedef long   (* SOMLINK somTD_CyberStream_GetTotalDataSize)(CyberStream *somSelf, Environment *ev);
  132. typedef OSErr   (* SOMLINK somTD_CyberStream_GetStreamError)(CyberStream *somSelf, Environment *ev);
  133. typedef void   (* SOMLINK somTD_CyberStream_GetStatusString)(CyberStream *somSelf, Environment *ev,
  134.         Str255 message);
  135. typedef ODTime   (* SOMLINK somTD_CyberStream_GetLastModTime)(CyberStream *somSelf, Environment *ev);
  136. typedef ODULong   (* SOMLINK somTD_CyberStream_GetProperty)(CyberStream *somSelf, Environment *ev,
  137.         CDStreamProperty property,
  138.         ODULong length,
  139.         ODPtr value);
  140. typedef ODULong   (* SOMLINK somTD_CyberStream_GetPropertySize)(CyberStream *somSelf, Environment *ev,
  141.         CDStreamProperty property);
  142. typedef ODBoolean   (* SOMLINK somTD_CyberStream_IsTotalDataSizeAvailable)(CyberStream *somSelf, Environment *ev);
  143. typedef ODBoolean   (* SOMLINK somTD_CyberStream_IsLastModTimeAvailable)(CyberStream *somSelf, Environment *ev);
  144. typedef short   (* SOMLINK somTD_CyberStream_HasProperty)(CyberStream *somSelf, Environment *ev,
  145.         CDStreamProperty property);
  146. typedef void   (* SOMLINK somTD_CyberStream_Open)(CyberStream *somSelf, Environment *ev);
  147. typedef void   (* SOMLINK somTD_CyberStream_GetBuffer)(CyberStream *somSelf, Environment *ev,
  148.         Ptr* buffer,
  149.         Size* bufferSize);
  150. typedef void   (* SOMLINK somTD_CyberStream_ReleaseBuffer)(CyberStream *somSelf, Environment *ev,
  151.         Ptr buffer);
  152. typedef void   (* SOMLINK somTD_CyberStream_Abort)(CyberStream *somSelf, Environment *ev);
  153. }
  154.  
  155. #endif /* CyberStream_API */
  156.  
  157.  
  158. /*
  159.  * -- This emitter treats Method Tokens as Thunks by default.
  160.  * -- Use the sc modifier "nothunks" to change this default
  161.  */
  162. #undef somresolve_
  163. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  164.  
  165. /*
  166.  * -- The C++ Wrapper Class for CyberStream
  167.  */
  168. class CyberStream : public ODObject
  169. {
  170. public:
  171.  
  172. // CyberStream::new registers use of the class object, and then uses somNew
  173. // to allocate memory and load the object method table pointer. 
  174. void *operator new(size_t size)
  175. {
  176.     SOM_IgnoreWarning(size);
  177.     // Allocate memory using the default allocator for CyberStream, and
  178.     // clear mem & set method table pointer, call basic initialization
  179. #ifdef SOMCHKNULL
  180.     void * __somResult = (void *)
  181.       somNewObject(CyberStream);
  182.     SOMCHKNULL(__somResult);
  183.     return __somResult;
  184. #else
  185.     return (void*) somNewObject(CyberStream);
  186. #endif
  187. }
  188.  
  189. // CyberStream::delete uses the default deallocator for the object's class.
  190. void operator delete(void * obj)
  191. {
  192.     if (obj) {
  193.         SOM_Resolve(obj,SOMObject,somFree)
  194.            ( (SOMObject*) obj );
  195.     }
  196. }
  197.  
  198. /* method: GetStreamStatus */
  199. StreamStatus   GetStreamStatus(Environment *ev)
  200. {
  201.    #ifdef SOMCHKEXCEPT
  202.    StreamStatus __somResult = 
  203.       SOM_ResolveD(this,CyberStream,CyberStream,GetStreamStatus)
  204.     (this,ev);
  205.       SOMCHKEXCEPT;
  206.    return __somResult;
  207. #else
  208.    return SOM_ResolveD(this,CyberStream,CyberStream,GetStreamStatus)
  209.     (this,ev);
  210. #endif
  211. }
  212.  
  213. /* method: GetTotalDataSize */
  214. long   GetTotalDataSize(Environment *ev)
  215. {
  216.    #ifdef SOMCHKEXCEPT
  217.    long __somResult = 
  218.       SOM_ResolveD(this,CyberStream,CyberStream,GetTotalDataSize)
  219.     (this,ev);
  220.       SOMCHKEXCEPT;
  221.    return __somResult;
  222. #else
  223.    return SOM_ResolveD(this,CyberStream,CyberStream,GetTotalDataSize)
  224.     (this,ev);
  225. #endif
  226. }
  227.  
  228. /* method: GetStreamError */
  229. OSErr   GetStreamError(Environment *ev)
  230. {
  231.    #ifdef SOMCHKEXCEPT
  232.    OSErr __somResult = 
  233.       SOM_ResolveD(this,CyberStream,CyberStream,GetStreamError)
  234.     (this,ev);
  235.       SOMCHKEXCEPT;
  236.    return __somResult;
  237. #else
  238.    return SOM_ResolveD(this,CyberStream,CyberStream,GetStreamError)
  239.     (this,ev);
  240. #endif
  241. }
  242.  
  243. /* method: GetStatusString */
  244. void   GetStatusString(Environment *ev,
  245.         Str255 message)
  246. {
  247.    SOM_ResolveD(this,CyberStream,CyberStream,GetStatusString)
  248.     (this,ev,message);
  249. #ifdef SOMCHKEXCEPT
  250.       SOMCHKEXCEPT;
  251. #endif
  252. }
  253.  
  254. /* method: GetLastModTime */
  255. ODTime   GetLastModTime(Environment *ev)
  256. {
  257.    #ifdef SOMCHKEXCEPT
  258.    ODTime __somResult = 
  259.       SOM_ResolveD(this,CyberStream,CyberStream,GetLastModTime)
  260.     (this,ev);
  261.       SOMCHKEXCEPT;
  262.    return __somResult;
  263. #else
  264.    return SOM_ResolveD(this,CyberStream,CyberStream,GetLastModTime)
  265.     (this,ev);
  266. #endif
  267. }
  268.  
  269. /* method: GetProperty */
  270. ODULong   GetProperty(Environment *ev,
  271.         CDStreamProperty property,
  272.         ODULong length,
  273.         ODPtr value)
  274. {
  275.    #ifdef SOMCHKEXCEPT
  276.    ODULong __somResult = 
  277.       SOM_ResolveD(this,CyberStream,CyberStream,GetProperty)
  278.     (this,ev,property,length,value);
  279.       SOMCHKEXCEPT;
  280.    return __somResult;
  281. #else
  282.    return SOM_ResolveD(this,CyberStream,CyberStream,GetProperty)
  283.     (this,ev,property,length,value);
  284. #endif
  285. }
  286.  
  287. /* method: GetPropertySize */
  288. ODULong   GetPropertySize(Environment *ev,
  289.         CDStreamProperty property)
  290. {
  291.    #ifdef SOMCHKEXCEPT
  292.    ODULong __somResult = 
  293.       SOM_ResolveD(this,CyberStream,CyberStream,GetPropertySize)
  294.     (this,ev,property);
  295.       SOMCHKEXCEPT;
  296.    return __somResult;
  297. #else
  298.    return SOM_ResolveD(this,CyberStream,CyberStream,GetPropertySize)
  299.     (this,ev,property);
  300. #endif
  301. }
  302.  
  303. /* method: IsTotalDataSizeAvailable */
  304. ODBoolean   IsTotalDataSizeAvailable(Environment *ev)
  305. {
  306.    #ifdef SOMCHKEXCEPT
  307.    ODBoolean __somResult = 
  308.       SOM_ResolveD(this,CyberStream,CyberStream,IsTotalDataSizeAvailable)
  309.     (this,ev);
  310.       SOMCHKEXCEPT;
  311.    return __somResult;
  312. #else
  313.    return SOM_ResolveD(this,CyberStream,CyberStream,IsTotalDataSizeAvailable)
  314.     (this,ev);
  315. #endif
  316. }
  317.  
  318. /* method: IsLastModTimeAvailable */
  319. ODBoolean   IsLastModTimeAvailable(Environment *ev)
  320. {
  321.    #ifdef SOMCHKEXCEPT
  322.    ODBoolean __somResult = 
  323.       SOM_ResolveD(this,CyberStream,CyberStream,IsLastModTimeAvailable)
  324.     (this,ev);
  325.       SOMCHKEXCEPT;
  326.    return __somResult;
  327. #else
  328.    return SOM_ResolveD(this,CyberStream,CyberStream,IsLastModTimeAvailable)
  329.     (this,ev);
  330. #endif
  331. }
  332.  
  333. /* method: HasProperty */
  334. short   HasProperty(Environment *ev,
  335.         CDStreamProperty property)
  336. {
  337.    #ifdef SOMCHKEXCEPT
  338.    short __somResult = 
  339.       SOM_ResolveD(this,CyberStream,CyberStream,HasProperty)
  340.     (this,ev,property);
  341.       SOMCHKEXCEPT;
  342.    return __somResult;
  343. #else
  344.    return SOM_ResolveD(this,CyberStream,CyberStream,HasProperty)
  345.     (this,ev,property);
  346. #endif
  347. }
  348.  
  349. /* method: Open */
  350. void   Open(Environment *ev)
  351. {
  352.    SOM_ResolveD(this,CyberStream,CyberStream,Open)
  353.     (this,ev);
  354. #ifdef SOMCHKEXCEPT
  355.       SOMCHKEXCEPT;
  356. #endif
  357. }
  358.  
  359. /* method: GetBuffer */
  360. void   GetBuffer(Environment *ev,
  361.         Ptr* buffer,
  362.         Size* bufferSize)
  363. {
  364.    SOM_ResolveD(this,CyberStream,CyberStream,GetBuffer)
  365.     (this,ev,buffer,bufferSize);
  366. #ifdef SOMCHKEXCEPT
  367.       SOMCHKEXCEPT;
  368. #endif
  369. }
  370.  
  371. /* method: ReleaseBuffer */
  372. void   ReleaseBuffer(Environment *ev,
  373.         Ptr buffer)
  374. {
  375.    SOM_ResolveD(this,CyberStream,CyberStream,ReleaseBuffer)
  376.     (this,ev,buffer);
  377. #ifdef SOMCHKEXCEPT
  378.       SOMCHKEXCEPT;
  379. #endif
  380. }
  381.  
  382. /* method: Abort */
  383. void   Abort(Environment *ev)
  384. {
  385.    SOM_ResolveD(this,CyberStream,CyberStream,Abort)
  386.     (this,ev);
  387. #ifdef SOMCHKEXCEPT
  388.       SOMCHKEXCEPT;
  389. #endif
  390. }
  391.  
  392. };   /* CyberStream */
  393.  
  394.  
  395.  
  396. #endif       /* SOM_CyberStream_xh */
  397.